U.S. Pat. No. 5,398,196 discusses the detection of viruses within a personal computer. However, unlike the present invention, this reference does not treat the elimination of detected viruses, nor does it discuss macro viruses.
A first existing technology used by anti-virus programs to detect and repair macro viruses requires, for each unique new macro virus, the development of a detection and repair definition (virus signature). Thus, this first technology is capable of detecting only publicly identified macro viruses (see below definition). After the development of the detection and repair definition, the user's anti-virus software must be augmented with the new definition before it can detect the newly discovered macro virus. This method has the advantage that a skilled anti-virus researcher is able to study the virus and understand it enough so that a proper detection and repair definition can be created for it. The main disadvantage is that a relatively long turnaround time is required before the general public is updated with each new definition. The turnaround time includes the duration during which the virus has a chance to spread and possibly wreak havoc, the time to properly gather a sample and send it to an anti-virus research center, the time required to develop the definition, and the time to distribute the definition to the general public. This process is similar to the process used for protecting against the once more prevalent DOS-based viruses.
A second technology uses rudimentary heuristics that can scan for newly developed macro viruses. These heuristics employ expert knowledge of the types of viruses they seek. Often these heuristics look for strings of bytes that are indicative of viral behavior—for example, strings found in currently known viruses. Current heuristics are very good at detecting, with high level of confidence, new viruses that are variants of known viruses, but not so good at detecting new viruses that are not variants of known viruses. Another disadvantage of most current heuristics is that they are good for viral detection only, and are not capable of eliminating macro viruses once found. This is true of both macro virus heuristics and DOS virus heuristics. The present invention is an example of the second technology (heuristics). It is capable of identifying both publicly identified macro viruses and publicly unidentified macro viruses (see the below definitions). Furthermore, it offers the significant advantage that it is capable of eliminating macro viruses that are detected.